c语言s=10*s+p[i][j]-'0'什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:37:15

从表达式上看,就是把s的原始值乘10后,加上p[i][j]的值,结果再减去字符'0'的值。
按照这个写法,s的类型应为int型,而p应为二维字符数组char[][], 内部存一系列的数字,即值为'0'~'9'之间。
p[i][j]为取该数组第i行第j列的值。
综上,s=10*s+p[i][j]-'0'的作用,就是把数组p的第i行,从字符串的形式转为整型值的形式。

赋值语句,将 s×10 + 数组p中第i×j个元素 + 0的aciII码值30 的结果赋值给 s

这应该是一句演示语句,告诉你在C语言中字符和数值可以转换。
P是一个二维的数组,'0'也就是表示字符0,它的ASCII码是30H,也就是十进制的48。所以这句话的意思就是
s=10*s+p[i][j]-48;

这应该是把字符串转换成整数。。

ascii码值30